/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ddta;
import java.util.Calendar;
/**
 *
 * @author julio Nevado
 */
public class Fecha {
    private int year;
    private int month;
    private int day;
    //Formato => 18/03/1982 ó 18-03-1982
    public Fecha(String fecha) {
        String sFecha[] = Fecha.parseFecha(fecha);
        if (sFecha != null && sFecha.length > 2) {
            this.year = Integer.parseInt(sFecha[2]);
            this.month = Integer.parseInt(sFecha[1]);
            this.day = Integer.parseInt(sFecha[0]);
        }
    }
    static private String[] parseFecha(String fecha) {
        String sFecha[] = null;
        if (fecha.indexOf("-") > 0) {
            sFecha = fecha.split("-");
        } else {
            sFecha = fecha.split("/");
        }
        return sFecha;
    }
    public String getFullDate() {
        return String.format("%02d/%02d/%04d", this.day, this.month, this.year);
    }
    public int getYear() {
        return this.year;
    }
    public int getMonth(){
        return this.month;
    }
    public int getDay() {
        return this.day;
    }
    public long getEdad() {
        Calendar cal = Calendar.getInstance();
        long edad = cal.get(Calendar.YEAR) - this.getYear();
        return edad;
    }
    public void setYear(int val) {
        this.year = val;
    }
    public void setMonth(int val) {
        this.month = val;
    }
    public void setDay(int val) {
        this.day = val;
    }
  public static boolean isValidDateStr(String date) {
    String[] sDate = Fecha.parseFecha(date);
    if (sDate.length == 3) {
        Calendar cal = Calendar.getInstance();
        try {
            cal.set(Integer.parseInt(sDate[2]), Integer.parseInt(sDate[1])-1, Integer.parseInt(sDate[0]));
            return true;
        } catch(Exception e) {
            return false;
        }
    } else {
        return false;
    }
  }
  
}
